/*
 *    Copyright (c) 2018-2025, proj All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the proj developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: proj
 */

package com.ykht.proj.coupon.vo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 提现记录表
 *
 * @author proj code generator
 * @date 2021-02-01 19:00:17
 */
@Data
@ApiModel(value = "提现记录表")
public class FxWithdrawalVo implements Serializable {
private static final long serialVersionUID = 1L;

	/**
	 *
	 */
	@TableId
	@ApiModelProperty(value="")
	private Long id;


	@ApiModelProperty(value="微信订单编号")
	private String wxOrder;

	/**
	 * 提现批次编号
	 */
	@ApiModelProperty(value="提现批次编号")
	private String batchNumber;
	/**
	 * 提现编号
	 */
	@ApiModelProperty(value="提现编号")
	private String orderNumber;
	/**
	 * 提现类型：1  微信提现  2支付宝   3银行卡
	 */
	@ApiModelProperty(value="提现类型：1  微信提现  2支付宝   3银行卡")
	private Long withdrawalType;
	/**
	 * 公司id
	 */
	@ApiModelProperty(value="公司id")
	private Long companyId;
	/**
	 * 品牌id
	 */
	@ApiModelProperty(value="品牌id")
	private Long brandId;
	/**
	 * 门店id
	 */
	@ApiModelProperty(value="门店id")
	private Long shopId;
	/**
	 * 服务员id
	 */
	@ApiModelProperty(value="服务员id")
	private Long waiterId;
	/**
	 * 提现金额（元）
	 */
	@ApiModelProperty(value="提现金额（元）")
	private BigDecimal money;
	/**
	 * 服务员 当前提现后 的余额
	 */
	@ApiModelProperty(value="服务员 当前提现后 的余额")
	private BigDecimal balance;

	@ApiModelProperty(value="服务员 当前提现后门店 的余额")
	private BigDecimal shopBalance;
	/**
	 * 提现状态：0成功1余额不足2风控限制
	 */
	@ApiModelProperty(value="提现状态：0成功1余额不足2风控限制")
	private Integer status;
	/**
	 * 创建人
	 */
	@ApiModelProperty(value="创建人")
	private Long createUser;
	/**
	 * 修改人
	 */
	@ApiModelProperty(value="修改人")
	private Long updateUser;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value="创建时间")
	private LocalDateTime createTime;
	/**
	 * 更新时间
	 */
	@ApiModelProperty(value="更新时间")
	private LocalDateTime updateTime;
	/**
	 * 0可用1删除
	 */
	@ApiModelProperty(value="0可用1删除")
	private Integer delFlag;
	/**
	 * 租户ID
	 */
	@ApiModelProperty(value="租户ID",hidden=true)
	private Integer tenantId;


    //  ===
//       ================================

	/**
	 * 登录角色类型  0系统管理员 1公司 2品牌 3门店 4服务员
	 */
	@ApiModelProperty(value="登录角色类型 0系统管理员 1公司 2品牌 3门店 4服务员")
	private Integer loginRoleType;


	/**
	 * 查看角色类型  1 服务员  2 门店  3 品牌  4公司
	 */
	@ApiModelProperty(value="查看角色类型  1 服务员  2 门店  3 品牌  4公司 ")
	private Integer lookRoleType;

	@ApiModelProperty(value="分销类型  0注册1 转发 2核销 ")
	private Integer distributionType;

	@ApiModelProperty(value = "饭友名称（C端用户）")
	private String personName;

	@ApiModelProperty(value="饭友ID")
	private Long fanYouId;

	@ApiModelProperty(value="C端用户ID")
	private Long personId;

	@ApiModelProperty(value="查询ID （服务员 门店 品牌 公司）")
	private List<Long> userIds;

	@ApiModelProperty(value = "用户id(服务员)")
	private Long loginId;

	@ApiModelProperty(value = "服务员用户名")
	private String username;

	@ApiModelProperty(value = "wx昵称")
	private String nickName;

	@ApiModelProperty(value = "服务员用户名")
	private String userPhone;

	@ApiModelProperty(value="门店名称")
	private String shopName;

	@ApiModelProperty(value="门店电话")
	private String shopPhone;

	@ApiModelProperty(value="品牌名称")
	private String brandName;

	@ApiModelProperty(value="公司名称")
	private String companyName;

	@ApiModelProperty(value="公司电话")
	private String companyPhone;

	@ApiModelProperty(value="创建开始时间")
	private LocalDateTime createStaTime;

	@ApiModelProperty(value="创建结束时间")
	private LocalDateTime createEndTime;

	@ApiModelProperty(value="转发类型 1海报 2小程序卡片")
	private Integer forwardType;

	@ApiModelProperty(value="转发标题")
	private String forwardTitle;

	@ApiModelProperty(value="任务类型：1邀请好友  2分享文章  3分享门店")
	private Integer taskType;

	@ApiModelProperty(value="优惠券编号")
	private String couponNumber;

	@ApiModelProperty(value="优惠券名称")
	private String couponName;

	@ApiModelProperty(value="优惠券类型 0无门槛 1满减")
	private Integer couponType;

	@ApiModelProperty(value="累计提现")
	private BigDecimal cumulativeWithdrawalMoney = BigDecimal.ZERO;

	@ApiModelProperty(value="可提现余额")
	private BigDecimal sureWithdrawalMoney = BigDecimal.ZERO;

	@ApiModelProperty(value="累计金额")
	private BigDecimal cumulativeMoney = BigDecimal.ZERO;

	@ApiModelProperty(value="服务员id集合")
	private List<Long> waiterIdList;

	// 导出
	@ApiModelProperty(value="提现类型：1  微信提现  2支付宝   3银行卡")
	private String withdrawalTypeShow;

	@ApiModelProperty(value="提现时间")
	private String withdrawalDateShow;


}
